home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / optivc32 / vbimath.h < prev    next >
C/C++ Source or Header  |  1999-03-06  |  2KB  |  65 lines

  1. /*  VBImath.h
  2.  
  3.   vector management functions for byte-size integers:
  4.   integer arithmetics and mathematics.
  5.  
  6.   Copyright (c) 1996 - 1999 by Martin Sander
  7.   All Rights Reserved.
  8. */
  9.  
  10. #ifndef __VBIMATH_H
  11. #define __VBIMATH_H
  12.  
  13. #if !defined( __VECLIB_H )
  14.    #include <VecLib.h>
  15. #endif
  16.  
  17. #ifdef __cplusplus
  18.    extern "C" {
  19. #endif
  20.  
  21. /******************   Basic  Arithmetics   *************************/
  22.  
  23. void  __vf  VBI_neg( biVector Y, biVector X, ui size );
  24. void  __vf  VBI_abs( biVector Y, biVector X, ui size );
  25.  
  26. void  __vf  VBI_addC(  biVector Y, biVector X, ui size, char C );
  27. void  __vf  VBI_subC(  biVector Y, biVector X, ui size, char C );
  28. void  __vf  VBI_subrC( biVector Y, biVector X, ui size, char C );
  29. void  __vf  VBI_mulC(  biVector Y, biVector X, ui size, char C );
  30. void  __vf  VBI_divC(  biVector Y, biVector X, ui size, char C );
  31. void  __vf  VBI_divrC( biVector Y, biVector X, ui size, char C );
  32. void  __vf  VBI_modC(  biVector Y, biVector X, ui size, char C );
  33. void  __vf  VBI_maxC(  biVector Y, biVector X, ui size, char C );
  34. void  __vf  VBI_minC(  biVector Y, biVector X, ui size, char C );
  35.  
  36. void  __vf  VBI_addV(  biVector Z, biVector X, biVector Y, ui size );
  37. void  __vf  VBI_subV(  biVector Z, biVector X, biVector Y, ui size );
  38. void  __vf  VBI_subrV( biVector Z, biVector X, biVector Y, ui size );
  39. void  __vf  VBI_mulV(  biVector Z, biVector X, biVector Y, ui size );
  40. void  __vf  VBI_divV(  biVector Z, biVector X, biVector Y, ui size );
  41. void  __vf  VBI_divrV( biVector Z, biVector X, biVector Y, ui size );
  42. void  __vf  VBI_modV(  biVector Z, biVector X, biVector Y, ui size );
  43. void  __vf  VBI_maxV(  biVector Z, biVector X, biVector Y, ui size );
  44. void  __vf  VBI_minV(  biVector Z, biVector X, biVector Y, ui size );
  45.  
  46. /******************** Accumulation (Y += X) ******************************/
  47.  
  48. void __vf VBI_accV(   biVector Y, biVector  X, ui size );
  49.  
  50. /*****************   Bit-wise operations  *********************/
  51.  
  52. void    __vf  VBI_shl( biVector Y, biVector X, ui size, unsigned C );
  53. void    __vf  VBI_shr( biVector Y, biVector X, ui size, unsigned C );
  54.  
  55. void    __vf  VBI_and( biVector Y, biVector X, ui size, char C );
  56. void    __vf  VBI_or(  biVector Y, biVector X, ui size, char C );
  57. void    __vf  VBI_xor( biVector Y, biVector X, ui size, char C );
  58. void    __vf  VBI_not( biVector Y, biVector X, ui size );
  59.  
  60. #ifdef __cplusplus
  61. }
  62. #endif
  63.  
  64. #endif   /*  __VBIMATH_H    */
  65.